import { useIntersectionObserver } from '@vueuse/core'

// 图片懒加载插件
export const imgLazyPlugin = {
  install(app) {
    // 懒加载指令逻辑
    app.directive('img-lazy', {
      // 指令钩子mounted 在dom插入后执行
      // el：指令绑定的dom元素
      // binding:指令对象 binding.value 为指令右边绑定的值
      mounted(el, binding) {
        const { stop } = useIntersectionObserver(el, ([{ isIntersecting }]) => {
          if (isIntersecting) {
            // 进入视口区域，才给img标签的src属性绑定正确的图片URL地址
            el.src = binding.value
            stop()
          }
        })
      }
    })
  }
}
